package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.entity.SysUser;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 借阅管理对象 module_borrow
 *
 * @author ruoyi
 * @date 2023-06-05
 */
public class ModuleBorrow extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @Excel(name = "id")
    private String id;

    /**
     * 文件类型
     */
    @Excel(name = "文件类型")
    private String filetype;

    /**
     * 借出标志
     */
    @Excel(name = "借出标志")
    private String borrowflag;

    /**
     * 姓名
     */
    @Excel(name = "姓名")
    private String name;

    /**
     * 单位名称
     */
    @Excel(name = "单位名称")
    private String company;

    /**
     * 证件号码
     */
    @Excel(name = "证件号码")
    private String paperno;

    /**
     * 联系电话
     */
    @Excel(name = "联系电话")
    private String telephone;

    /**
     * 公司地址
     */
    @Excel(name = "公司地址")
    private String address;

    /**
     * 借出原因
     */
    @Excel(name = "借出原因")
    private String reason;

    /**
     * 介绍信
     */
    @Excel(name = "介绍信")
    private String recommendation;

    /**
     * 借出时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "借出时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date borrowtime;

    /**
     * 借出经办人
     */
    @Excel(name = "借出经办人")
    private String borrowoperator;

    /**
     * 借出期限
     */
    @Excel(name = "借出期限")
    private String loantime;

    /**
     * 到期时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "到期时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date duetime;

    /**
     * 归还时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "归还时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date returntime;

    /**
     * 归还经办人
     */
    @Excel(name = "归还经办人")
    private String returnoperator;

    /**
     * 归还标志
     */
    @Excel(name = "归还标志")
    private String returnflag;

    /**
     * 申请时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applytime;

    /**
     * 审批人
     */
    @Excel(name = "审批人")
    private String approvaloperator;

    /**
     * 审批时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审批时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date approvaltime;

    /**
     * 工程名称
     */
    @Excel(name = "工程名称")
    private String engname;

    /**
     * 案卷题名
     */
    @Excel(name = "案卷题名")
    private String vname;

    /**
     * 文件题名
     */
    @Excel(name = "文件题名")
    private String filename;

    /**
     * 用户Id
     */
    @Excel(name = "用户Id")
    private Integer userId;

    /**
     * 预留字段1
     */
    @Excel(name = "预留字段1")
    private Long borrowYuliu1;


    /**
     * 预留字段2
     */
    @Excel(name = "预留字段2")
    private String borrowYuliu2;

    /**
     * 预留字段3
     */
    @Excel(name = "预留字段3")
    private String borrowYuliu3;

    /**
     * 预留字段4
     */
    @Excel(name = "预留字段4")
    private String borrowYuliu4;

//    /** 状态值标志 */
//    @Excel(name = "状态值(待审核/已驳回/已通过)",width = 35,readConverterExp = "0=待填写,1=已通过,2=已驳回")
//    private String statusflag;

    private SysUser sysUser;

    public void setId(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }

    public void setFiletype(String filetype) {
        this.filetype = filetype;
    }

    public String getFiletype() {
        return filetype;
    }

    public void setBorrowflag(String borrowflag) {
        this.borrowflag = borrowflag;
    }

    public String getBorrowflag() {
        return borrowflag;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setCompany(String company) {
        this.company = company;
    }

    public String getCompany() {
        return company;
    }

    public void setPaperno(String paperno) {
        this.paperno = paperno;
    }

    public String getPaperno() {
        return paperno;
    }

    public void setTelephone(String telephone) {
        this.telephone = telephone;
    }

    public String getTelephone() {
        return telephone;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getAddress() {
        return address;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    public String getReason() {
        return reason;
    }

    public void setRecommendation(String recommendation) {
        this.recommendation = recommendation;
    }

    public String getRecommendation() {
        return recommendation;
    }

    public void setBorrowtime(Date borrowtime) {
        this.borrowtime = borrowtime;
    }

    public Date getBorrowtime() {
        return borrowtime;
    }

    public void setBorrowoperator(String borrowoperator) {
        this.borrowoperator = borrowoperator;
    }

    public String getBorrowoperator() {
        return borrowoperator;
    }

    public void setLoantime(String loantime) {
        this.loantime = loantime;
    }

    public String getLoantime() {
        return loantime;
    }

    public void setDuetime(Date duetime) {
        this.duetime = duetime;
    }

    public Date getDuetime() {
        return duetime;
    }

    public void setReturntime(Date returntime) {
        this.returntime = returntime;
    }

    public Date getReturntime() {
        return returntime;
    }

    public void setReturnoperator(String returnoperator) {
        this.returnoperator = returnoperator;
    }

    public String getReturnoperator() {
        return returnoperator;
    }

    public void setReturnflag(String returnflag) {
        this.returnflag = returnflag;
    }

    public String getReturnflag() {
        return returnflag;
    }

    public void setApplytime(Date applytime) {
        this.applytime = applytime;
    }

    public Date getApplytime() {
        return applytime;
    }

    public void setApprovaloperator(String approvaloperator) {
        this.approvaloperator = approvaloperator;
    }

    public String getApprovaloperator() {
        return approvaloperator;
    }

    public void setApprovaltime(Date approvaltime) {
        this.approvaltime = approvaltime;
    }

    public Date getApprovaltime() {
        return approvaltime;
    }

    public void setEngname(String engname) {
        this.engname = engname;
    }

    public String getEngname() {
        return engname;
    }

    public void setVname(String vname) {
        this.vname = vname;
    }

    public String getVname() {
        return vname;
    }

    public void setFilename(String filename) {
        this.filename = filename;
    }

    public String getFilename() {
        return filename;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public Integer getUserId() {return userId;}

    public void setBorrowYuliu1(Long borrowYuliu1) {
        this.borrowYuliu1 = borrowYuliu1;
    }

    public Long getBorrowYuliu1() {
        return borrowYuliu1;
    }

    public void setBorrowYuliu2(String borrowYuliu2) {
        this.borrowYuliu2 = borrowYuliu2;
    }

    public String getBorrowYuliu2() {
        return borrowYuliu2;
    }

    public void setBorrowYuliu3(String borrowYuliu3) {
        this.borrowYuliu3 = borrowYuliu3;
    }

    public String getBorrowYuliu3() {
        return borrowYuliu3;
    }

    public void setBorrowYuliu4(String borrowYuliu4) {
        this.borrowYuliu4 = borrowYuliu4;
    }

    public String getBorrowYuliu4() {
        return borrowYuliu4;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("filetype", getFiletype())
            .append("borrowflag", getBorrowflag())
            .append("name", getName())
            .append("company", getCompany())
            .append("paperno", getPaperno())
            .append("telephone", getTelephone())
            .append("address", getAddress())
            .append("reason", getReason())
            .append("recommendation", getRecommendation())
            .append("borrowtime", getBorrowtime())
            .append("borrowoperator", getBorrowoperator())
            .append("loantime", getLoantime())
            .append("duetime", getDuetime())
            .append("returntime", getReturntime())
            .append("returnoperator", getReturnoperator())
            .append("returnflag", getReturnflag())
            .append("applytime", getApplytime())
            .append("approvaloperator", getApprovaloperator())
            .append("approvaltime", getApprovaltime())
            .append("engname", getEngname())
            .append("vname", getVname())
            .append("filename", getFilename())
            .append("userId", getUserId())
            .append("remark", getRemark())
            .append("borrowYuliu1", getBorrowYuliu1())
            .append("borrowYuliu2", getBorrowYuliu2())
            .append("borrowYuliu3", getBorrowYuliu3())
            .append("borrowYuliu4", getBorrowYuliu4())
//                .append("statusflag", getStatusflag())
                .append("sysUser",getSysUser())
            .toString();
    }

//    public String getStatusflag() {return statusflag;}
//
//    public void setStatusflag(String statusflag) {this.statusflag = statusflag;}

    public SysUser getSysUser() {
        return sysUser;
    }

    public void setSysUser(SysUser sysUser) {
        this.sysUser = sysUser;
    }
}
